An [[Arithmetic circuits|arithmetic circuit]] where each equality constraint has exactly one multiplication.
This restriction allows us to use bilinear [[Pairings (Elliptic Curves)]]s.
The output of a pairing cannot be paired again, since an element in cannot be used as input to a pairing. This why we can only have one multiplication.
Our witness is a vector containing the values of all the input, intermediate, and output variables. By convention, the first element is always 1 to make some calculations easier.
The intermediate variables are variables we introduce to our arithmetic circuit to satisfy the restriction that we must have exactly one multiplication per equation.
where are matrices encoding the output variables, the LHS, and the RHS.
has witness of form and equation of form
Our matrix will have columns, where is the number of variables in the system, for the constant column.
It will have rows, where is the number of constraint equations in the circuit.